package org.dromara.app.cssUtils;

import org.dromara.common.core.domain.R;
import org.dromara.common.core.exception.ServiceException;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * auto：CSS
 * content：返回信息组装
 * projectName：颜悦2.0
 */
public class CssExceptionDescription {
    public static Map<Integer, String> errcodemap = new LinkedHashMap<Integer, String>();

    static {
        errcodemap.put(500, "系统繁忙，稍候再试");
        errcodemap.put(10001, "手机号不能为空！");
        errcodemap.put(10002, "验证码错误！");
        errcodemap.put(10003, "未开通会员，无法同城搜索");
        errcodemap.put(10004, "未发现约局用户信息");
        errcodemap.put(10005, "用户已取消组局");
        errcodemap.put(10006, "用户已退出组局");
        errcodemap.put(10007, "组局已取消，不可加入");
        errcodemap.put(10008, "无法取消");
        errcodemap.put(10009, "手机号码已注册");
        errcodemap.put(10010, "参数不存在");
        errcodemap.put(10011, "已申请达人无需重复申请");
        errcodemap.put(10012, "自己申请的组局不可加入");
        errcodemap.put(10013, "非自己发布的约局，不可取消！");
        errcodemap.put(10014, "余额不足！");
        errcodemap.put(10015, "无权限取消！");
        errcodemap.put(10016, "该状态无法取消！");
        errcodemap.put(10017, "无操作权限！");
        errcodemap.put(10018, "状态已变更，接单失败，请刷新重试！");
        errcodemap.put(10019, "达人已注销！");
        errcodemap.put(10020, "约局信息不存在！");
        errcodemap.put(10021, "约局已取消！");
        errcodemap.put(10022, "用户已退出！");
        errcodemap.put(10023, "已开通会员，无需重复开通！");
        errcodemap.put(10024, "会员类型不存在！");
        errcodemap.put(10025, "开始时间不足2小时，无法转单！");
        errcodemap.put(10026, "无操作权限！");
        errcodemap.put(10027, "约局人数已满！");
        errcodemap.put(10028, "未支付");
        errcodemap.put(10029, "该订单状态无法取消");
        errcodemap.put(10030, "今日私聊次数已用尽");
        errcodemap.put(10031, "未开通会员，无法私聊");
        errcodemap.put(10032, "用户不存在");
        errcodemap.put(40001, "未登录");

    }

    /**
     * 失败返回信息
     *
     * @param code
     * @return
     */
    public static void errorMsg(Integer code) {
        throw new ServiceException(errcodemap.get(code), code);
    }

    /**
     * 方法1
     * 成功返回信息
     *
     * @param data
     * @return
     */
    public static R successData(Object data) {
        R r = new R();
        r.setMsg("请求成功");
        r.setCode(200);
        r.setData(data);

        return r;
    }

    /**
     * 方法2  带code  msg   data
     * 成功返回信息
     *
     * @param data
     * @return
     */
    public static R successMsgTwo(Integer code, String msg, Object data) {
        R r = new R();
        r.setMsg(msg);
        r.setCode(code);
        r.setData(data);
        return r;
    }
}
